package com.bjsxt;
/**实现线程功能的类是java.lang.Thread类
 * 继承Thread类实现多线程的步骤：
 * 继承Thread类定义线程类
 * 重写Thread类中的run()方法，run()方法也称为线程体
 * 实例化线程并通过start()方法启动线程*/
public class ThreadTest extends Thread{ //继承Thread
    //重写无参构造方法，获得Thread线程的名字，通过Thread的getName()获得
    public ThreadTest() {
        System.out.println("线程"+getName());
    }
    //重写run() 线程的线程体
    @Override
    public void run() {
        System.out.println(this.getName()+"线程启动");
        for(int i=0;i<20;i++){
            System.out.println(this.getName()+" "+i);
        }
        System.out.println(this.getName()+"线程结束");

    }
    //在main方法里启动,Thread在主线程启动(main)
    //多个线程启动时，是并发的，时间轮机制，执行多长时间由系统决定
    public static void main(String[] args) {
        System.out.println("主线程开始");
        ThreadTest t1 = new ThreadTest();
        //启动线程  不可以用t1.run()
        t1.start();
        //再实例化一个线程
        ThreadTest t2 = new ThreadTest();
        t2.start();
        System.out.println("主线程结束");
        //现在程序中有三个线程：main方法，t1,t2
        //main结束了，再执行t1,t2
    }
}
